// pages/xin-address/address.js
import {
  ajax,
  src,
  util
} from "../../utils/util.js";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    name:'',
    sex:2,
    phone:'',
    province_id:'',
    city_id:'',
    county_id: '',
    address:'',
    provinces:[],
    multiArray: [],  // 三维数组数据
    multiIndex: [0, 0, 0], // 默认的下标,
    ssq:false,
    switch1Checked: true,
  },
  // 姓名
  name:function(e){
    this.setData({
      name: e.detail.value
    });
  },
  // 性别
  radioChange: function (e) {
    this.setData({
      sex: e.detail.value
    });
  },
  // 手机号
  phone: function (e) {
    this.setData({
      phone: e.detail.value
    });
  },
  // 详细地址
  address: function (e) {
    this.setData({
      address: e.detail.value
    });
  },
  // 是否默认
  switch1Change: function () {
    this.setData({ switch1Checked: !this.data.switch1Checked })
  },
  // 验证手机号
  isPhoneNumber: function (tel) {
    var reg = /^0?1[3|4|5|6|7|8][0-9]\d{8}$/;
    return reg.test(tel);
  },
  // 新地址
  xinaddress: function () {
    if (this.data.name == "") {
      wx.showToast({
        title: '请输入姓名',
        icon: 'none',
        duration: 2000
      })
      return
    }
    if (this.data.province_id == "") {
      wx.showToast({
        title: '请选择地址',
        icon: 'none',
        duration: 2000
      })
      return
    }
    if (!this.isPhoneNumber(this.data.phone)) {
      wx.showToast({
        title: '请输入正确手机号码',
        icon: 'none',
        duration: 2000
      })
      return
    }
    if (this.data.address == "") {
      wx.showToast({
        title: '请输入详细地址',
        icon: 'none',
        duration: 2000
      })
      return
    }
    ajax('/api/mall/receipts_add', {
      data: {
        uqid: wx.getStorageSync("uqid"),
        name:this.data.name,
        sex: this.data.sex,
        phone: this.data.phone,
        province_id: this.data.province_id,
        city_id: this.data.city_id,
        county_id: this.data.county_id,
        address: this.data.address,
        is_default: this.data.switch1Checked?1:0
      },
      header: {
        'Accept': 'application/json'
      },
      method: "POST",
    }, res => {
      if (res.error == 0){
        wx.navigateBack({
          delta: 1
        })

      }
      
    })
  },
  // 选择地址
  dizhi:function(){
    ajax('/api/mall/area', {
      data: {

      },
      header: {
        'Accept': 'application/x-www-form-urlencoded', // 默认值
      },
      method: "get",
    }, res => {
      //获取云数据库数据
      var temp = res.data;
      //初始化更新数据
      this.setData({
        provinces: temp,
        multiArray: [temp, temp[0].list, temp[0].list[0].list],
      })
    })
  },
  //点击确定
  bindMultiPickerChange: function (e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      multiIndex: e.detail.value,
      ssq:true
    })
    var arr = this.data.multiArray
    var index = e.detail.value
    this.setData({
      province_id: arr[0][index[0]].region_id,
      city_id: arr[1][index[1]].region_id,
      county_id: arr[2][index[2]].region_id
    })
  },
  //滑动
  bindMultiPickerColumnChange: function (e) {
    console.log('修改的列为', e.detail.column, '，值为', e.detail.value);
    var data = {
      multiArray: this.data.multiArray,
      multiIndex: this.data.multiIndex
    };
    //更新滑动的第几列e.detail.column的数组下标值e.detail.value
    data.multiIndex[e.detail.column] = e.detail.value;
    //如果更新的是第一列“省”，第二列“市”和第三列“区”的数组下标置为0
    if (e.detail.column == 0) {
      data.multiIndex = [e.detail.value, 0, 0];
    } else if (e.detail.column == 1) {
      //如果更新的是第二列“市”，第一列“省”的下标不变，第三列“区”的数组下标置为0
      data.multiIndex = [data.multiIndex[0], e.detail.value, 0];
    } else if (e.detail.column == 2) {
      //如果更新的是第三列“区”，第一列“省”和第二列“市”的值均不变。
      data.multiIndex = [data.multiIndex[0], data.multiIndex[1], e.detail.value];
    }
    var temp = this.data.provinces;
    data.multiArray[0] = temp;
    if ((temp[data.multiIndex[0]].list).length > 0) {
      //如果第二列“市”的个数大于0,通过multiIndex变更multiArray[1]的值
      data.multiArray[1] = temp[data.multiIndex[0]].list;
      var areaArr = (temp[data.multiIndex[0]].list[data.multiIndex[1]]).list;
      //如果第三列“区”的个数大于0,通过multiIndex变更multiArray[2]的值；否则赋值为空数组
      data.multiArray[2] = areaArr.length > 0 ? areaArr : [];
    } else {
      //如果第二列“市”的个数不大于0，那么第二列“市”和第三列“区”都赋值为空数组
      data.multiArray[1] = [];
      data.multiArray[2] = [];
    }
    this.setData(data);
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.dizhi()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})